package com.project.design.factory.methodFactory;

/**
 * 工厂方法
 *  由抽象工厂 具体工厂 抽象产品 具体产品 4个要素构成
 *  缺点：只能适应生产一种产品 多产品会导致类的数量过多
 */
public class Client {

    public static void main(String[] args) {
        try {
            ConcreteFactoryTwo cf = new ConcreteFactoryTwo();
            Class<?> t = cf.getClass();
            AbstractFactory  obj = (AbstractFactory) t.newInstance();
            Product product = obj.newProduct();
            product.show();

        } catch (IllegalAccessException e) {
            e.printStackTrace();
        } catch (InstantiationException e) {
            e.printStackTrace();
        }


    }
}
